package com.jichangxiu.server.platform.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import com.jichangxiu.common.entity.po.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("platform_dict_data")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = true)
@Schema(description = "字典数据实体")
public class PlatformDictData extends BaseEntity implements Serializable {

    @Schema(description = "字典值ID")
    @TableId(value = "data_id", type = IdType.ASSIGN_UUID)
    private String dataId;

    @TableField(value = "dict_id")
    @Schema(description = "字典ID")
    private String dictId;

    @TableField(value = "dict_code")
    @Schema(description = "字典标识")
    private String dictCode;

    @TableField(value = "data_label")
    @Schema(description = "字典标签")
    private String dataLabel;

    @TableField(value = "data_value")
    @Schema(description = "字典键值")
    private String dataValue;

    @TableField(value = "css_class")
    @Schema(description = "样式属性（其他样式扩展）")
    private String cssClass;

    @TableField(value = "list_class")
    @Schema(description = "样式属性（其他样式扩展）")
    private String listClass;

    @TableField(value = "tenant_id")
    @Schema(description = "租户ID")
    private String tenantId;

    @TableField(value = "is_default")
    @Schema(description = "是否默认（0停用 1正常）")
    private Boolean isDefault;

    @Schema(description = "显示顺序")
    @TableField(value = "sort", keepGlobalFormat = true)
    private Double sort;

    @TableField("status")
    @Schema(description = "状态（false停用 true正常）")
    private Boolean status;

    @TableField("remark")
    @Schema(description = "备注")
    private String remark;

    @TableLogic
    @TableField("deleted")
    @Schema(description = "是否删除（0否 1是）")
    private String deleted;

}
